객체 프로토타입 상속
프로토타입 상속#
[[Prototype]] 숨김 프로퍼티#
해당 객체의 [[Prototype]] 의 값
- null
- 다른 객체에 대한 참조- 참조되는 다른 객체는 해당 객체의 프로토타입이 된다.
 

- 프로토타입 상속- 자바스크립트는 object 에서 해당 프로퍼티가 없으면 프로토타입에서 프로퍼티를 찾는다.
 
__proto__ :[[Prototype]] 값 설정 방법#
- __proto__는- [[Prototype]]용 getter-setter 임
- __proto__는 하위 호환성 때문에 사용할 수 있다.
- Object.getPrototypeOf- Object.setPrototypeOf를 사용한다.

프로토타입 체인#

프로토타입 체이닝의 제약사항
- 순환 참조는 허용되지 않음.- 에러발생
 
- __proto__의 값은 [ 객체 ||- null] 만 가능함. 다른 자료형은 무시
- 객체에는 오직 하나의 [[Prototype]]만 존재함.
this 가 나타내는 것.#
this 는 . 앞에 있는 객체가 된다

메서드는 공유 되지만, 객체의 상태는 공유되지 않는다.
for...in 반복문#
상속 프로퍼티도 순회 대상에 포함된다.

Object.prototype 에 있는 모든 메서드의 enumerable 플래그는 false 이므로 for..in 에서 출력되지 않는다.
- 키값을 순회하는 대부분의 메서드는 상속 프로퍼티를 제외하고 동작한다.
- Object.keys- Object.values